// pages/mine/mine.js
const API = require('../../utils/api');
const { user } = require('../../utils/auth');
const app = getApp()

Page({

  /**
   * 页面的初始数据
   */
  data: {
    user: ''
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function () {
    
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    let user = app.globalData.user
    if (!user) {
      user = '';
    }
    this.setData({
      user: user,
    })
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },


  getProfile: function (e) {
    console.log(e);
    wx.showLoading({
      title: '正在登录...',
    })
    var p1 = new Promise((resolve, reject) => {
      wx.login({
        success: res => {
          // 这里也可以选择性返回需要的字段
          
          resolve(res)
        }
      })
    })
    var p2 = new Promise((resolve, reject) => {
      wx.getUserProfile({
        desc: '用于完善会员资料',
        success: res => {
          console.log(res),
          this.setData({
            user: res
          }),
          // 这里也可以选择性返回需要的字段
          resolve(res),
          wx.hideLoading()
        },
        fail:err=>{
          console.log(err)
          wx.hideLoading()
        }
      })
    })
    // 同时执行p1和p2，并在它们都完成后执行then
    Promise.all([p1, p2]).then((results) => {
      // results是一个长度为2的数组，放置着p1、p2的resolve
        // 这里也可以选择性返回需要的字段
          let data={}
          data.code=results[0].code;
          data.rawData=results[1].rawData;
          data.signature=results[1].signature,
          data.encrypteData=results[1].encryptedData, //用户敏感信息
          data.iv=results[1].iv //解密算法的向量
          API.WxLogin(data).then(res=>{
            console.log(res)
            this.setData({
              user:res.data.userInfo
            })
          })
    })
  },
    

  bindHandler: function(e) {
    let url=e.currentTarget.dataset.url;
    wx.navigateTo({
      url: url,
    })
  },


  loginOut: function() {
    wx.clearStorageSync();
    wx.showToast({
      title: '清除完毕',
    })
  }
})